1. Field of the Invention
This invention relates to an image processing apparatus and a graphics memory unit and, more particularly, to an image processing apparatus for reading image data stored in a plurality of frame buffers each of which corresponds to one layer and for superimposing and displaying the image data and a graphics memory unit for storing the image data.
2. Description of the Related Art
Conventional techniques for superimposing a plurality of windows and showing them on a display unit are divided broadly into the following two methods. A first method is to draw or copy an image for each window into a single-layer frame buffer made up of a single buffer and a double buffer, to write colors into the image, to read the result, and to output it to a display unit. This method is adopted in window systems on personal computers and workstations, video game machines, and the like. A second method is to read and superimpose image data stored in a frame buffer which corresponds to a plurality of layers and which is secured in, for example, a graphics memory and to output it to a display unit. This method is adopted in car navigation systems, display systems included in built-in systems in, for example, industrial-use equipment, and the like.
Even if a single-layer frame buffer included in a personal computer or a workstation in which the first method is adopted stores a plurality of windows, usually these windows are opaque and are independent of one another. Accordingly, only by automatically detecting areas in which two windows overlap, the function of inhibiting the useless drawing of pixels which are concealed by the upper-layer window and which are not visible on the lower-layer window can be realized. In addition, usually each frame must be redrawn in 3-D CG. Therefore, even if a menu, a score, or the like is semitransparently displayed on top on a video game machine, the method of copying each frame of a window into a single-layer frame buffer and synthesizing it is not useless.
In a car navigation system in which the second method is adopted, on the other hand, cases where there are an opaque area, a transparent area, and a semitransparent area in a window are not rare. In addition, a window which belongs to a lower-layer frame buffer may be seen through an upper layer, so pixels on the lower-layer window must be read from a graphics memory without omission.
With content such as a two-dimensional map, each frame is not redrawn and the technique of reusing many frames by scrolling a drawn screen is often used. If the method of copying each frame of a window into a single-layer frame buffer and synthesizing it is used, a screen cannot be reused. Therefore, the technique of distributing individual windows among frame buffers at different layers, performing drawing and scrolling according to layers, and superimposing and color-mixing each layer on the graphics LSI (large scale integration circuit) side just before displaying on a display unit is adopted.
Furthermore, in the second method the technique of giving the attribute “transparent,” “opaque,” or “semitransparent” or a transmission value according to frame buffers at different layers or windows and switching a superposition and color-mixing method according to attributes or transmission values is disclosed (see, for example, Japanese Unexamined Patent Publication No. 4-45487). The technique of switching the attribute “transparent,” “opaque,” or “semitransparent” or a transmission value according to pixels of each layer and performing a close superposition and color-mixing process like gradation is also disclosed (see, for example, Japanese Unexamined Patent Publication No. 5-225328).
However, an image in a window located on an upper layer may include, for example, an opaque area, a transparent area, and a semitransparent area. With the technique of setting the uniform transmission attribute “opaque,” “transparent,” or “semitransparent” according to windows, the transmission attribute of the window must be set to “semitransparent” in order to properly display the semitransparent area. As a result, though there is no need to read pixels on a lower layer corresponding to pixel coordinates in the opaque area included in the image in the window located on the upper layer, these useless pixels are read unconditionally. Conversely, only pixels on the lower layer corresponding to pixel coordinates in the transparent area included in the image in the window located on the upper layer should be read. Though there is no need to read pixels in the transparent area included in the image in the window located on the upper layer, these useless pixels are read unconditionally.
With the technique of setting the transmission attribute “opaque,” “transparent,” or “semitransparent” or a transmission value according to pixels, a transmission attribute or a transmission value must unconditionally be determined one pixel at a time regardless of the distribution of the opaque area, the transparent area, and the semitransparent area in the image in the window located on the upper layer. As a result, though there is no need to read the pixels on the lower layer corresponding to the pixel coordinates in the opaque area included in the image in the window located on the upper layer, these useless pixels are read unconditionally. Conversely, only pixels on the lower layer corresponding to pixel coordinates in the transparent area included in the image in the window located on the upper layer should be read. Though there is no need to read pixels in the transparent area included in the image in the window located on the upper layer, these useless pixels are read unconditionally.